package vip.ifmm.lehouse.commodity.service.dao;

import org.apache.ibatis.annotations.Param;
import vip.ifmm.lehouse.common.model.Commodity;
import vip.ifmm.lehouse.common.model.CommodityDetail;
import vip.ifmm.lehouse.common.model.CommodityImageLink;
import vip.ifmm.lehouse.common.vo.CommodityVo;

import java.util.List;

/**
 * 商品持久层接口
 *
 * @author Fish
 * <p>Email: fishinlove@163.com</p>
 * <p>created by 2019/06/21 20:54:12</p>
 */
public interface CommodityDao {

    // 保存商品详情
    int saveCommodityDetail(CommodityDetail detail);

    // 保存商品
    int saveCommodity(Commodity commodity);

    // 保存商品图片
    int saveCommodityImages(@Param("images") List<CommodityImageLink> images);

    // 查询商品列表
    List<Commodity> listCommodities();

    // 根据商品分类 id 查询商品列表
    List<Commodity> listCommoditiesByTypeId(int typeId);

    // 根据 id 查询商品展示对象
    // 主要是商品详情和商品概览信息
    CommodityVo getCommodityVo(int commodityId);

    // 根据商品 id 查询批量图片
    List<CommodityImageLink> listCommodityImages(int commodityId);

    // 更新商品信息
    int updateCommodity(Commodity commodity);

    // 更新商品详情信息
    int updateCommodityDetail(CommodityDetail detail);

    // 更新商品图片
    int updateCommodityImage(CommodityImageLink images);
}
